package com.smcdd.cdb.dbo.cdb_dbo.ui.utils;

/**
 * 作者：Administrator on 2017/6/10 14:45
 * 邮箱：zhanghuaiha@gmail.com
 * 判断版本大小
 */

public class IsVersion {

    public static int compareVersion(String localVerson, String ServiceVerson) {
        //转成字符数组
        String[]  locVer =localVerson.split("\\.");
        String[]  serVer =ServiceVerson.split("\\.");

        //比较的位数
        int comLength;

        if (locVer.length <= serVer.length) {
            comLength = locVer.length;
        }else {
            comLength = serVer.length;
        }
        //转化成数组以后逐位比较
        for (int i=0;i<comLength;i++) {

            if (Integer.parseInt(locVer[i])<Integer.parseInt(serVer[i])) {
                //小于情况
                return 1;
            }else if (Integer.parseInt(locVer[i])>Integer.parseInt(serVer[i])) {
                //大于情况
                return 3;
            }else if (Integer.parseInt(locVer[i])==Integer.parseInt(serVer[i])){
                //此种情况可能等于可能还需要比较完后需要判断位数
                if (i==comLength-1) {
                    //先判断是否为数组最后一位
                    if (locVer.length == serVer.length){
                        //字符位数都相等，真正的相等
                        return 2;
                    }else {
                        if (locVer.length <serVer.length) {
                            return 1;
                        }else{
                            return 3;
                        }
                    }
                }
            }
        }
        //比较的值不符合版本号格式就返回0
        return 0;
    }

}
